package com.dpiinc.TechPage.user.utils;

import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.dpiinc.TechPage.R;

/**
 * Created by hu489_000 on 2018-06-25.
 */

public class ToastUtils {
    public static void showTopTip(Context context, String s) {
//        Toast.makeText(context , s, Toast.LENGTH_SHORT).show();

        LinearLayout view = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.custom_toast, null);
        Toast toast = new Toast(context);
        LinearLayout content = (LinearLayout) view.findViewById(R.id.content);
        TextView message = (TextView) view.findViewById(R.id.message);
        message.setText(s);

        WindowManager manager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics outMetrics = new DisplayMetrics();
        manager.getDefaultDisplay().getMetrics(outMetrics);
        int width = outMetrics.widthPixels;
        int height = outMetrics.heightPixels;

        ViewGroup.LayoutParams params = new LinearLayout.LayoutParams(width, ViewGroup.LayoutParams.MATCH_PARENT);
        content.setLayoutParams(params);
        toast.setView(view);
        toast.getView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);//设置Toast可以布局到系统状态栏的下面

        toast.setGravity(Gravity.TOP, 0, 0);
        toast.show();
    }

//    public static void showCenterTip(Context context, String s) {
//        Toast toast = Toast.makeText(context,
//                s, Toast.LENGTH_SHORT);
//        toast.setGravity(Gravity.CENTER, 0, 0);
//        toast.show();
//    }

    /**
     * 将Toast封装在一个方法中，在其它地方使用时直接输入要弹出的内容即可
     */
    public static void showFeedOkCenterTip(Context context) {
        //LayoutInflater的作用：对于一个没有被载入或者想要动态载入的界面，都需要LayoutInflater.inflate()来载入，LayoutInflater是用来找res/layout/下的xml布局文件，并且实例化
        LayoutInflater inflater = LayoutInflater.from(context);//调用Activity的getLayoutInflater()
        View view = inflater.inflate(R.layout.toast_ok, null); //加載layout下的布局
        Toast toast = new Toast(context);
        toast.setGravity(Gravity.CENTER, 0, 0);//setGravity用来设置Toast显示的位置，相当于xml中的android:gravity或android:layout_gravity
        toast.setDuration(Toast.LENGTH_SHORT);//setDuration方法：设置持续时间，以毫秒为单位。该方法是设置补间动画时间长度的主要方法
        toast.setView(view); //添加视图文件
        toast.show();
    }


    public static void showCenterTip(Context context,String s) {
        //LayoutInflater的作用：对于一个没有被载入或者想要动态载入的界面，都需要LayoutInflater.inflate()来载入，LayoutInflater是用来找res/layout/下的xml布局文件，并且实例化
        LayoutInflater inflater = LayoutInflater.from(context);//调用Activity的getLayoutInflater()
        View view = inflater.inflate(R.layout.toast_mid, null); //加載layout下的布局
        Toast toast = new Toast(context);
        toast.setGravity(Gravity.CENTER, 0, 0);//setGravity用来设置Toast显示的位置，相当于xml中的android:gravity或android:layout_gravity
        toast.setDuration(Toast.LENGTH_SHORT);//setDuration方法：设置持续时间，以毫秒为单位。该方法是设置补间动画时间长度的主要方法
        toast.setView(view); //添加视图文件
        TextView tv_toast=(TextView)view.findViewById(R.id.tv_toast);
        tv_toast.setText(s);
        toast.show();
    }

    public static void showCenterRecordTip(Context context) {
        //LayoutInflater的作用：对于一个没有被载入或者想要动态载入的界面，都需要LayoutInflater.inflate()来载入，LayoutInflater是用来找res/layout/下的xml布局文件，并且实例化
        LayoutInflater inflater = LayoutInflater.from(context);//调用Activity的getLayoutInflater()
        View view = inflater.inflate(R.layout.toast_mid_record, null); //加載layout下的布局
        Toast toast = new Toast(context);
        toast.setGravity(Gravity.CENTER, 0, 0);//setGravity用来设置Toast显示的位置，相当于xml中的android:gravity或android:layout_gravity
        toast.setDuration(Toast.LENGTH_SHORT);//setDuration方法：设置持续时间，以毫秒为单位。该方法是设置补间动画时间长度的主要方法
        toast.setView(view); //添加视图文件
        toast.show();
    }

    public static void showFeedSubmittingCenterTip(Context context) {
        //LayoutInflater的作用：对于一个没有被载入或者想要动态载入的界面，都需要LayoutInflater.inflate()来载入，LayoutInflater是用来找res/layout/下的xml布局文件，并且实例化
        LayoutInflater inflater = LayoutInflater.from(context);//调用Activity的getLayoutInflater()
        View view = inflater.inflate(R.layout.toast_submitting, null); //加載layout下的布局
        Toast toast = new Toast(context);
        toast.setGravity(Gravity.CENTER, 0, 0);//setGravity用来设置Toast显示的位置，相当于xml中的android:gravity或android:layout_gravity
        toast.setDuration(Toast.LENGTH_SHORT);//setDuration方法：设置持续时间，以毫秒为单位。该方法是设置补间动画时间长度的主要方法
        toast.setView(view); //添加视图文件
        toast.show();
    }
}
